package org.liuwei.rxjava;

import rx.Observable;
import rx.Observer;
import rx.Subscriber;
/**
 *@see https://my.oschina.net/u/1266221/blog/952634
* @Description: RXjava 基本使用示例
* @author wei.liu   
* @date 2017年6月14日 下午1:58:20 
* @version V1.0
 */
public class demo01 {

	public static void main(String[] args) {
		// 1.先创建个数据发射源,很好理解，就是发射数据用的：
		Observer<String> receiver = new Observer<String>() {

			@Override
			public void onCompleted() {

				// 数据接收完成时调用
			}

			@Override
			public void onError(Throwable e) {

				// 发生错误调用
			}

			@Override
			public void onNext(String s) {

				// 正常接收数据调用
				System.out.print(s); // 将接收到来自sender的问候"Hi，Weavey！"
			}
		};
		// 2.再创建个数据接收源，同理，接收数据用的：
		Observable<String> sender = Observable.create(new Observable.OnSubscribe<String>() {

			@Override
			public void call(Subscriber<? super String> subscriber) {

				subscriber.onNext("Hi，Weavey！"); // 发送数据"Hi，Weavey！"
			}
		});

		// 3.好了，将发射源和接收源关联起来：
		sender.subscribe(receiver);
	}

}
